package com.cyan.note.service;

import com.cyan.note.dto.admin.SystemStatsResponse;

/**
 * 系统监控服务接口
 * 超级管理员专用 - 严格遵循数据隔离原则，只提供系统级统计
 * 
 * @author ZhangzhenYu
 * @since 2025-01-14
 */
public interface SystemMonitorService {

    /**
     * 获取系统整体统计数据
     * 仅包含系统级统计，不包含任何业务数据
     */
    SystemStatsResponse getSystemStats();

    /**
     * 获取店铺统计数据（仅数量统计）
     */
    SystemStatsResponse.ShopStats getShopStats();

    /**
     * 获取用户统计数据（仅数量统计）
     */
    SystemStatsResponse.UserStats getUserStats();

    /**
     * 获取系统运行状态
     */
    SystemStatsResponse.SystemStatus getSystemStatus();

    /**
     * 检查数据库连接状态
     */
    String checkDatabaseStatus();
}